package lyl.heap;

import java.util.*;

public class MyTest {

    //字符串字母按顺序重排序，非字母不动
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        List<Character> heap = new ArrayList<>();
        for (Character ch : s.toCharArray()) {
            if(Character.isLetter(ch)) {
                heap.add(ch);
            }
        }
        Comparator<Character> comparator = new Comparator<>() {
            @Override
            public int compare(Character o1, Character o2) {
                return myCompare(o1,o2);
            }
        };
        heap.sort(comparator);
        StringBuilder stringBuilder = new StringBuilder();
        int i = 0;
        for (char c : s.toCharArray()) {
            if(Character.isLetter(c)){
                stringBuilder.append(heap.get(i));
                i++;
            }else {
                stringBuilder.append(c);
            }
        }
        System.out.println(stringBuilder.toString());
    }


    static int myCompare(Character o1, Character o2){
        if(!Character.isLetter(o1) || !Character.isLetter(o2)){
            return 0;
        }

            Character l1 = Character.toLowerCase(o1);
            Character l2 = Character.toLowerCase(o2);
            return l1 - l2;

    }
}
